package bdqn.hfxt;

public class Demo {
    public static void main(String[] args) {
        /**
         * 多重循环：
         *     在一个循环的循环体嵌套另一个完整循环，这样的两个循环称为二重循环
         *     嵌套层数达到两层及以上，这样的循环称为多重循环。
         * 特点：
         *     外层循环执行一次，内层循环执行所有次
         *
         * 应用场景：
         *     1）使用多重循环画形状
         *            外层循环控制行数
         *            内层循环控制每行图形个数
         *     2）业务复杂
         *
         * 案例一：
         *    *****
         *    *****
         *    *****
         *    *****
         *    *****
         * 行 i  1  2  3  4  5
         * 个 j  5  5  5  5  5
         * j和i的关系：内层循环条件
         *      j <= 0*i+5
         *
         * 案例二：
         *   *
         *   **
         *   ***
         *   ****
         *   *****
         * 行 i  1  2  3  4  5
         * 个 j  1  2  3  4  5
         * j和i的关系：内层循环条件
         *      j <= i
         *
         *  案例三：
         *  *
         *  ***
         *  *****
         *  *******
         *  *********
         * 行 i  1  2  3  4  5
         * 个 j  1  3  5  7  9
         * j和i的关系：内层循环条件
         *      j <= 2*i-1
         *
         *  案例四：
         *  *****
         *  ****
         *  ***
         *  **
         *  *
         * 行 i  1  2  3  4  5
         * 个 j  5  4  3  2  1
         * j和i的关系：内层循环条件
         *      j <= line5 - i + 1
         *
         *  案例五：
         *  *********
         *  *******
         *  *****
         *  ***
         *  *
         * 行 i  1  2  3  4  5
         * 个 j  9  7  5  3  1
         * j和i的关系：内层循环条件
         *      j <= 2*(line5 - i) + 1
         *
         * 面试题一：
         * ####*
         * ###***
         * ##*****
         * #*******
         * *********
         *
         * 面试题二：
         * ####*
         * ###***
         * ##*****
         * #*******
         * *********
         * #*******
         * ##*****
         * ###***
         * ####*
         *
         * 面试题三：
         *    打印九九乘法表
         *  1*1=1
         *  1*2=2 2*2=4
         *  1*3=3 2*3=6 3*3=9
         *  ...
         *  1*9=9  ....          9*9=81
         *
         */
        /*
        while(true){
            while(true){
                while(true){
                }
            }
        }
        */

        //案例一
        for(int i=1; i<=5; i++){//控制行
            for(int j=1; j <= 0*i+5; j++){//控制每行个数
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("-------------------------");
        for(int i=1; i<=5;i++){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("-------------------------");
        for(int i=1; i<=5;i++){
            for(int j=1; j<=2*i-1; j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("-------------------------");
        for(int i=1; i<=5;i++){
            for(int j=1; j<=5-i+1; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
